<?php
/**
 * Класс отвечает за формирование страниц команд
 * 
 * @author Mike
 *
 */
class View_Team {
	
	/**
	 * Метод отображает страницу команд пользователя
	 * 
	 * @param array $arrTeams
	 */
	public static function showUserTeams(&$arrTeams) {
		echo '<a href="' . W_ABSPATH . 'teams/add" id="create-team"  class="blue simple-btn right">Добавить команду</a>';
		if(empty($arrTeams)) echo '<div class="gr-text">Список команд пуст.</div>';
		else {
			echo '<div class="items-list">';
				foreach($arrTeams as $arrTeam) {
					echo '<div class="item">';
						View_Block::showAvatar('team', $arrTeam['ID_team'], $arrTeam['avatar_filename'], 'm', true);
						echo '<div class="info">';
							echo '<div class="short-info">';
								echo '<a href="' . W_ABSPATH . 'team' . $arrTeam['ID_team'] . '" class="zhir">' . $arrTeam['team_name'] . '</a>';
								echo '<div class="gr-text">' . $arrTeam['city_name'] . '</div>';
							echo '</div>';
						echo '</div>';
						echo '<div class="clear"></div>';
					echo '</div>';
				}
			echo '</div>';
		}
		
		
		// Форма добавления команды (всплывающее окно)
		echo '<div id="new-team-form">';
			$objForm = new View_Form(array(), new Team());
			$objForm->show();
				echo '<div class="simple-field">';
					echo '<div class="field-header">';
						echo 'Название команды';
					echo '</div>';
					$objForm->textField(array('name' => 'team_name'));
				echo '</div>';
				echo '<div class="simple-field">';
					echo '<div class="field-header">';
						echo 'Город';
					echo '</div>';
					$objForm->textField(array('name' => 'city_name', 'class' => 'city-field', 'autocomplete' => 'off'));
					$objForm->hiddenField(array('name' => 'ID_city', 'id' => 'ID_city'));
				echo '</div>';
			$objForm->submit(array('class' => 'blue simple-btn right'));
		echo '</div>';
	}
	
	/**
	 * Метод отображает страницу редактирования команды
	 *
	 * @param Team - $objTeam
	 */
	public static function showEditPage(Team $objTeam) {
		echo '<div class="gr-background edit-wrap rel">';
			self::showTopSubmenu($objTeam->id);
			echo '<div id="l-edit-profile">';
				echo '<div id="ava-upload-picture">';
					View_Block::showAvatar('team', $objTeam->id, $objTeam->getField('avatar_filename'), 'l', false);
				echo '</div>';
				echo '<div id="avatar-uploader" class="simple-btn green">Добавить фото</div>';
			echo '</div>';
			echo '<div id="r-edit-profile">';
				$objForm = new View_Form(array(), $objTeam);
				$objForm->show();
					echo '<div class="edit-item">';
						echo '<div class="field gr-text">Название:</div>';
						$objForm->textField(array('name' => 'team_name'));
					echo '</div>';
					echo '<div class="edit-item">';
						echo '<div class="field gr-text">Описание:</div>';
						$objForm->textArea(array('name' => 'description'));
					echo '</div>';
					echo '<div class="edit-item">';
						echo '<div class="field gr-text">Город:</div>';
						$cityName = City::getCityNameById($objTeam->getField('ID_city'));
						$objForm->textField(array('name' => 'city_name','class' => 'city-field', 'autocomplete' => 'off', 'noFromModel' => true, 'value' => $cityName));
					echo '</div>';
					
					$objForm->checkbox(array('name' => 'entry_restrict', 'label' => 'Вступление болельщиков в команду только по подтверждению администратора','id' => 'en-ch','is_checked' => !$objTeam->getField('entry_restrict') ? false : true));
					$objForm->hiddenField(array('name' => 'ID_team', 'id' => 'temid'));
					$objForm->hiddenField(array('name' => 'ID_city', 'id' => 'ID_city'));
					$objForm->submit(array('value' => 'Сохранить'));
				$objForm->close();
			echo '</div>';
		echo '</div>';
	}
	
	
	/*
	 * Метод отображает страницу команды
	 * 
	 * @param $objTeam - объект команды
	 */
	public static function showTeamPage(Team $objTeam) {
		echo '<div id="simple-bar">';
			echo $objTeam->getField('team_name');
		echo '</div>';
		
		echo '<div class="l-profile-part">';
			View_Block::showAvatar('team', $objTeam->id, $objTeam->getField('avatar_filename'), 'l', false);
			
			// Блок управления командой
			$userId = User_Seance::getId();
			if($userId) {
				echo '<div class="controls">';
					$userTeamStatusArray = $objTeam->getTeamStatuses($userId);
					if(empty($userTeamStatusArray))  { // Залогиненный пользователь не состоящий в команде
						echo '<a href="#" class="blue simple-btn">Состав команды</a>';
						// Смотрим нет ли заявки на вступление у текущего пользователя
						if(RequestToTeam::getResponse($userId, $objTeam->id)) echo '<div class="inf gr-text">Вы отправили заявку</div>';
						else echo '<a href="#" class="blue simple-btn want-in">Вступить в команду</a>';
					}
					elseif($userTeamStatusArray['is_admin']) { // Админ команды
						echo '<a href="' . W_ABSPATH . 'team' . $objTeam->id .'?act=edit" class="blue simple-btn">Управление командой</a>';
						if($userTeamStatusArray['status'] == 0) echo '<p><a href="#" class="want-in blue simple-btn">Вступить в команду</a>';
						else echo '<a href="#" class="request-handler leave blue simple-btn">Уйти из команды</a>';
					}
					else { // Участники команды - не админы
						echo '<a href="#" class="blue simple-btn">Состав команды</a>';
						echo '<a href="#" class="request-handler leave blue simple-btn">Уйти из команды</a>';
					}
				echo '</div>';
			}
			//echo '<a id="write-mess" class="blue simple-btn" href="#">Написать сообщение</a>';
		echo '</div>';
		
		echo '<div class="r-profile-part">';
			// Информация команды bozanov73
			echo '<div class="team-info">';
			$cityName = City::getCityNameById($objTeam->getField('ID_city'));
			echo '<div class="info-item">';
				echo '<div class="field gr-text">Город:</div>';
					echo '<div class="val">' . $cityName . '</div>';
				echo '</div>';
			echo '</div>';
		echo '</div>';
			
			// id текущей команды, используется при передачи аякс-запроса на вступление в команду
		echo '<input type="hidden" id="numbero" value="' . $objTeam->id .'">';
		
		// Всплывающее окно при подаче заявки на вступление в команду
		echo '<div id="for-request-form">';
		echo '<div class="mid-subt">Ваш статус</div>';
			echo '<div class="simple-field">';
				echo '<input type="radio" name="stat" id="player" value="1">';
				echo '<label for="player" class="gr-text">Игрок</label>';
			echo '</div>';
			echo '<div class="simple-field">';
				echo '<input type="radio" name="stat" id="fan" value="2">';
				echo '<label for="fan" class="gr-text">Болельщик</label>';
			echo '</div>';
			echo '<button type="submit" class="blue simple-btn right request-handler">ОК</button>';
		echo '</div>';
	}
	
	/*
	 * Метод отображает страницу участников команды для админа
	 * 
	 * @param array $arrPeople - массив участников
	 * @param int $teamId - id команды
	 */
	public static function showPeoplePageForAdmin(&$arrPeople, $teamId) {
		echo '<div class="rel">';
			self::showTopSubmenu($teamId);
			if(empty($arrPeople)) echo '<span class="gr-text">В команде пока никого нет.</span>';
			else {
				echo '<div class="items-list">';
					foreach ($arrPeople as $arrPerson) {
						echo '<div class="item">';
							View_Block::showAvatar('user', $arrPerson['ID_user'], $arrPerson['avatar_filename'], 'm', true);
							echo '<div class="info" ie="' . $arrPerson['ID_user'] . '">';
								echo '<div class="short-info">';
									echo '<div><a href="' . W_ABSPATH . 'id' . $arrPerson['ID_user'] . '" class="zhir">' . $arrPerson['first_name'] . ' ' . $arrPerson['last_name'] . '</a></div>';
									if($arrPerson['is_admin']) echo '<div class="gr-text">Администратор</div>';
									echo '<div class="color-status' . ($arrPerson['status'] == '2' ? ' fan' : '' ) . '">';
										if($arrPerson['status'] == '1') echo 'Игрок';
										if($arrPerson['status'] == '2') echo 'Болельщик';
									echo '</div>';
								echo '</div>';
								echo '<div class="tools act">';
									if(!$arrPerson['is_admin']) echo '<div class="tool-item"><a href="#" class="make-admin">Назначить руководителем</a></div>';
									if($arrPerson['is_admin'] != 2 && $arrPerson['ID_user'] != User_Seance::getId()) echo '<div class="tool-item"><a href="#" class="delete-user">Удалить из команды</a></div>';
								echo '</div>';
								echo '<div class="clear"></div>';
							echo '</div>';
						echo '</div>';
					}
				echo '</div>';
			}
			// id текущей команды, используется при передачи аякс-запроса на назначение админом и удаление из команды
			echo '<input type="hidden" id="numbero" value="' . $teamId .'">';
		echo '</div>';
	}
	
	/*
	 * Метод отображает страницу участников команды 
	*
	* @param array $arrPeople - массив участников
	* @param Team $objTeam - объект команды
	*/
	public static function showPeoplePage(&$arrPeople, $objTeam) {
		echo '<div class="rel">';
			if(empty($arrPeople)) echo '<span class="gr-text">В команде пока никого нет</span>';
			else {
				echo '<div class="items-list">';
					foreach ($arrPeople as $arrPerson) {
						echo '<div class="item">';
							View_Block::showAvatar('user', $arrPerson['ID_user'], 'm');
							echo '<div class="short-info">';
								echo '<a href="' . W_ABSPATH . 'id' . $arrPerson['ID_user'] . '" class="zhir">' . $arrPerson['first_name'] . ' ' . $arrPerson['last_name'] . '</a>';
								if($arrPerson['city_name']) echo '<div class="gr-text">' . $arrPerson['city_name'] . '</div>';
								echo '<div class="clear"></div>';
							echo '</div>';
						echo '</div>';
					}
				echo '</div>';
			}
		echo '</div>';
	}
	
	/*
	 * Метод отображает страницу заявок на вступление в команду
	 * 
	 * @param array $arrRequests - массив заявок
	 */
	public static function showTeamRequestsPage($arrRequests, $teamId) {
		echo '<div class="rel">';
			self::showTopSubmenu($teamId);
			if(empty($arrRequests)) echo '<span class="gr-text">Заявок нет</span>';
			else {
				echo '<div class="items-list requests">';
					foreach ($arrRequests as $arrRequest) {
						echo '<div class="item">';
							View_Block::showAvatar('user', $arrRequest['ID_user'], $arrRequest['avatar_filename'], 's', true);
							echo '<div class="info">';
								echo '<div class="short-info">';
									echo '<div><a href="' . W_ABSPATH . 'id' . $arrRequest['ID_user'] . '" class="zhir">' . $arrRequest['first_name'] . ' ' . $arrRequest['last_name'] . '</a></div>';
									echo '<div class="team-status' . ($arrRequest['status'] == '2' ? ' fan' : '' ) . '">';
										if($arrRequest['status'] == '1') echo 'Игрок';
										if($arrRequest['status'] == '2') echo 'Болельщик';
									echo '</div>';
									echo '<div class="options gr-text" user="' . $arrRequest['ID_user'] . '"><a href="#" opt="accept" class="admin-request-handler">Принять</a> | <a href="#" opt="refuse" class="admin-request-handler">Отклонить</a></div>';
								echo '</div>';
								echo '<div class="clear"></div>';
							echo '</div>';
						echo '</div>';
					}
				echo '</div>';
				// id текущей команды, используется при передачи аякс-запроса на принятие/отклонение заявки
				echo '<input type="hidden" id="numbero" value="' . $teamId .'">';
			}
		echo '</div>';
	}
	
	/*
	 * Метод отображает страницу администраторов команды
	*
	* @param array $arrAdmins - массив администарторов
	*/
	public static function showTeamAdminsPage($arrAdmins, $teamId) {
		echo '<div class="rel">';
			self::showTopSubmenu($teamId);
			echo '<div class="items-list admins">';
				foreach ($arrAdmins as $arrAdmin) {
					echo '<div class="item">';
						View_Block::showAvatar('user', $arrAdmin['ID_user'], $arrAdmin['avatar_filename'], 'm', true);
						echo '<div class="info" ie="' . $arrAdmin['ID_user'] . '">';
							echo '<div class="short-info">';
								echo '<a href="' . W_ABSPATH . 'id' . $arrAdmin['ID_user'] . '" class="zhir">' . $arrAdmin['first_name'] . ' ' . $arrAdmin['last_name'] . '</a>';
								if($arrAdmin['city_name']) echo '<div class="gr-text">' . $arrAdmin['city_name'] . '</div>';
							echo '</div>';
							echo '<div class="tools act">';
								echo '<div class="tool-item">';
									if($arrAdmin['is_admin'] != 2 && $arrAdmin['ID_user'] != User_Seance::getId()) echo '<a href="#" class="kill-admin">Разжаловать руководителя</a>';
								echo '</div>';
							echo '</div>';
							echo '<div class="clear"></div>';
						echo '</div>';
					echo '</div>';
				}
			echo '</div>';
			// id текущей команды, используется при передачи аякс-запроса на назначение админом и удаление из команды
			echo '<input type="hidden" id="numbero" value="' . $teamId .'">';
		echo '</div>';
	}
	
	public static function showTopSubmenu($teamId) {
		echo '<div id="submenu">';
			echo '<ul>';
				echo '<li>';
					echo '<a ' . (isset($_GET['act']) && $_GET['act'] == 'edit' && !isset($_GET['opt'])  ? 'class="active"' : '') . ' href="' . W_ABSPATH . 'team' . $teamId . '?act=edit">Основное</a>';
				echo '</li>';
				echo '<li>';
					echo '<a ' . (isset($_GET['act']) && $_GET['act'] == 'edit' && isset($_GET['opt']) && $_GET['opt'] == 'people'  ? 'class="active"' : '') . ' href="' . W_ABSPATH . 'team' . $teamId . '?act=edit&opt=people">Состав</a>';
				echo '</li>';
				echo '<li>';
					echo '<a ' . (isset($_GET['act']) && $_GET['act'] == 'edit' && isset($_GET['opt']) && $_GET['opt'] == 'requests' ? 'class="active"' : '') . ' href="' . W_ABSPATH . 'team' . $teamId . '?act=edit&opt=requests">Заявки</a>';
				echo '</li>';
				echo '<li>';
					echo '<a ' . (isset($_GET['act']) && $_GET['act'] == 'edit' && isset($_GET['opt']) && $_GET['opt'] == 'admins' ? 'class="active"' : '') . ' href="' . W_ABSPATH . 'team' . $teamId . '?act=edit&opt=admins">Рукводители</a>';
				echo '</li>';
				echo '<li>';
					echo '<a ' . (isset($_GET['act']) && $_GET['act'] == 'edit' && isset($_GET['opt']) && $_GET['opt'] == 'search' ? 'class="active"' : '') . ' href="' . W_ABSPATH . 'team' . $teamId . '?act=edit&opt=search">Поиск</a>';
				echo '</li>';
			echo '</ul>';
		echo '</div>';
	}
	
	/**
	 * Метод отображает страницу редактирования команды(вкладка "Поиск")
	 * @param Team $objTeam
	 */
	public static function showEditSearchForm($objTeam) {
		// Массив амплуа, по которым команда ищет игроков
		$teamLinesArray = $objTeam->getSearchParameters();
	
		echo '<div class="gr-background edit-wrap rel">';
			self::showTopSubmenu($objTeam->id);
			$objForm = new View_Form(array(), $objTeam);
			$objForm->show();
				echo '<div class="edit-item">';
					echo '<div class="field"></div>';
					$objForm->checkbox(array('name' => 'line','label' => 'Команда ищет игроков', 'id' => 'show-in-search', 'is_checked' => empty($teamLinesArray) ? false : true));
				echo '</div>';
				echo '<div id="edit-search-options" ' . (empty($teamLinesArray) ? 'class="hid"' : '') . '>';
					echo '<div class="edit-item">';
						echo '<div class="field gr-text">Амплуа:</div>';
						echo '<div class="ch-column">';
							$objForm->checkbox(array('name' => 'line1','label' => 'Вратарь', 'id' => 'line1', 'is_checked' => in_array(1,$teamLinesArray) ? true : false));
							$objForm->checkbox(array('name' => 'line2','label' => 'Защитник', 'id' => 'line2', 'is_checked' => in_array(2,$teamLinesArray) ? true : false));
						echo '</div>';
						echo '<div class="ch-column">';
							$objForm->checkbox(array('name' => 'line3','label' => 'Полузащитник', 'id' => 'line3', 'is_checked' => in_array(3,$teamLinesArray) ? true : false));
							$objForm->checkbox(array('name' => 'line4','label' => 'Нападащий', 'id' => 'line4', 'is_checked' => in_array(4,$teamLinesArray) ? true : false));
						echo '</div>';
					echo '</div>';
				echo '</div>';
				echo '<div class="clear"></div>';
				$objForm->hiddenField(array('name' => 'ID_team'));
				$objForm->submit(array('value' => 'Сохранить'));
			$objForm->close();
		echo '</div>';
	}
}
?>